package com.ldzl.service;

import com.ldzl.dto.AddPurchaseOrderDTO;
import com.ldzl.dto.ArrivalStorageRequestDTO;
import com.ldzl.pojo.CkPurchaseOrder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.api.domain.BasicWlgl;

import java.util.List;

/**
* @author 风止
* @description 针对表【ck_purchase_order(采购订单表)】的数据库操作Service
* @createDate 2025-07-11 11:17:44
*/
public interface CkPurchaseOrderService extends IService<CkPurchaseOrder> {

    /**
     * 查询采购订单
     * @param po
     * @return
     */
    List<CkPurchaseOrder> findOrder(CkPurchaseOrder po);

    /**
     * 添加采购订单
     * @param orderDTO
     * @return
     */
    boolean addOrder(AddPurchaseOrderDTO orderDTO);

    /**
     * 移除采购订单
     * @param po_id
     * @return
     */
    int updateIs_delete(Long po_id);

    /**
     * 批量移除采购订单
     * @param list_po_id
     * @return
     */
    int updateIs_delete_batch(List<Long> list_po_id);

    /**
     * 提交采购订单
     * @param po_id
     * @return
     */
    boolean updateStatus(Long po_id);

    /**
     * 查询采购订单已收货和采购中的
     * @param po
     * @return
     */
    List<CkPurchaseOrder> findOrder_arrived(CkPurchaseOrder po);


    /**
     * 到货入库
     * @param arrivalStorageDto
     * @return
     */
    boolean arrivalStorage(ArrivalStorageRequestDTO arrivalStorageDto);
}
